<?xml version="1.0" encoding="UTF-8" ?>
<class name="Polygon2D" inherits="Node2D" category="Core" version="3.0.alpha.custom_build">
	<brief_description>
		A 2D polygon.
	</brief_description>
	<description>
		A Polygon2D is defined by a set of points. Each point is connected to the next, with the final point being connected to the first, resulting in a closed polygon. Polygon2Ds can be filled with color (solid or gradient) or filled with a given texture.
	</description>
	<tutorials>
	</tutorials>
	<demos>
	</demos>
	<methods>
		<method name="get_antialiased" qualifiers="const">
			<return type="bool">
			</return>
			<description>
			</description>
		</method>
		<method name="get_color" qualifiers="const">
			<return type="Color">
			</return>
			<description>
				Return the polygon fill color.
			</description>
		</method>
		<method name="get_invert" qualifiers="const">
			<return type="bool">
			</return>
			<description>
				Return whether this polygon is inverted or not.
			</description>
		</method>
		<method name="get_invert_border" qualifiers="const">
			<return type="float">
			</return>
			<description>
				Return the added padding around the bounding box.
			</description>
		</method>
		<method name="get_offset" qualifiers="const">
			<return type="Vector2">
			</return>
			<description>
				Return the offset for the polygon vertices.
			</description>
		</method>
		<method name="get_polygon" qualifiers="const">
			<return type="PoolVector2Array">
			</return>
			<description>
				Return the set of vertices that defines this polygon.
			</description>
		</method>
		<method name="get_texture" qualifiers="const">
			<return type="Texture">
			</return>
			<description>
				Return the polygon texture
			</description>
		</method>
		<method name="get_texture_offset" qualifiers="const">
			<return type="Vector2">
			</return>
			<description>
				Return the polygon texture offset.
			</description>
		</method>
		<method name="get_texture_rotation" qualifiers="const">
			<return type="float">
			</return>
			<description>
				Return the rotation in radians of the texture polygon.
			</description>
		</method>
		<method name="get_texture_scale" qualifiers="const">
			<return type="Vector2">
			</return>
			<description>
				Return the uv coordinate multiplier.
			</description>
		</method>
		<method name="get_uv" qualifiers="const">
			<return type="PoolVector2Array">
			</return>
			<description>
				Return the texture coordinates associated with every vertex of the polygon.
			</description>
		</method>
		<method name="get_vertex_colors" qualifiers="const">
			<return type="PoolColorArray">
			</return>
			<description>
				Return the list of vertex colors.
			</description>
		</method>
		<method name="set_antialiased">
			<return type="void">
			</return>
			<argument index="0" name="antialiased" type="bool">
			</argument>
			<description>
			</description>
		</method>
		<method name="set_color">
			<return type="void">
			</return>
			<argument index="0" name="color" type="Color">
			</argument>
			<description>
				Set the polygon fill color. If the polygon has a texture defined, the defined texture will be multiplied by the polygon fill color. This, also, is the default color for those vertices that are not defined by [method get_vertex_colors].
			</description>
		</method>
		<method name="set_invert">
			<return type="void">
			</return>
			<argument index="0" name="invert" type="bool">
			</argument>
			<description>
				Set the polygon as the defined polygon bounding box minus the defined polygon (the defined polygon will appear as a hole on the square that contains the defined polygon).
			</description>
		</method>
		<method name="set_invert_border">
			<return type="void">
			</return>
			<argument index="0" name="invert_border" type="float">
			</argument>
			<description>
				Add extra padding around the bounding box, making it bigger. Too small a value can make the polygon triangulate strangely, due to numerical imprecision.
			</description>
		</method>
		<method name="set_offset">
			<return type="void">
			</return>
			<argument index="0" name="offset" type="Vector2">
			</argument>
			<description>
				Set the an offset that will be added to the vertices' position. E.g. if the offset is set to (10,10) then all the polygon points will move 10 units to the right and 10 units to the bottom.
			</description>
		</method>
		<method name="set_polygon">
			<return type="void">
			</return>
			<argument index="0" name="polygon" type="PoolVector2Array">
			</argument>
			<description>
				Define the set of vertices that will represent the polygon.
			</description>
		</method>
		<method name="set_texture">
			<return type="void">
			</return>
			<argument index="0" name="texture" type="Texture">
			</argument>
			<description>
			</description>
		</method>
		<method name="set_texture_offset">
			<return type="void">
			</return>
			<argument index="0" name="texture_offset" type="Vector2">
			</argument>
			<description>
				Set the offset of the polygon texture. Initially the texture will appear anchored to the polygon position, the offset is used to move the texture location away from that point (notice that the texture origin is set to its top left corner, so when offset is 0,0 the top left corner of the texture is at the polygon position), for example setting the offset to 10, 10 will move the texture 10 units to the left and 10 units to the top.
			</description>
		</method>
		<method name="set_texture_rotation">
			<return type="void">
			</return>
			<argument index="0" name="texture_rotation" type="float">
			</argument>
			<description>
				Set the amount of rotation of the polygon texture, [code]texture_rotation[/code] is specified in radians and clockwise rotation.
			</description>
		</method>
		<method name="set_texture_scale">
			<return type="void">
			</return>
			<argument index="0" name="texture_scale" type="Vector2">
			</argument>
			<description>
				Set the value that will multiply the uv coordinates ([method get_uv]) when applying the texture. Larger values make the texture smaller, and vice versa.
			</description>
		</method>
		<method name="set_uv">
			<return type="void">
			</return>
			<argument index="0" name="uv" type="PoolVector2Array">
			</argument>
			<description>
				Set the texture coordinates for every vertex of the polygon. There should be one uv vertex for every vertex in the polygon. If there are less, the undefined ones will be assumed to be (0,0). Extra uv vertices are ignored.
			</description>
		</method>
		<method name="set_vertex_colors">
			<return type="void">
			</return>
			<argument index="0" name="vertex_colors" type="PoolColorArray">
			</argument>
			<description>
				Set the color for each vertex of the polygon. There should be one color for every vertex in the polygon. If there are less, the undefined ones will be assumed to be [method get_color]. Extra color entries are ignored.
	Colors are interpolated between vertices, resulting in smooth gradients when they differ.
			</description>
		</method>
	</methods>
	<members>
		<member name="antialiased" type="bool" setter="set_antialiased" getter="get_antialiased">
			If [code]true[/code] polygon edges will be anti-aliased. Default value: [code]false[/code].
		</member>
		<member name="color" type="Color" setter="set_color" getter="get_color">
			The polygon's fill color. If [code]texture[/code] is defined, it will be multiplied by this color. It will also be the default color for vertices not set in [code]vertex_colors[/code].
		</member>
		<member name="invert_border" type="float" setter="set_invert_border" getter="get_invert_border">
			Added padding applied to the bounding box when using [code]invert[/code]. Setting this value too small may result in a "Bad Polygon" error. Default value: [code]100[/code].
		</member>
		<member name="invert_enable" type="bool" setter="set_invert" getter="get_invert">
			If [code]true[/code] polygon will be inverted, containing the area outside the defined points and extending to the [code]invert_border[/code]. Default value: [code]false[/code].
		</member>
		<member name="offset" type="Vector2" setter="set_offset" getter="get_offset">
			The offset applied to each vertex.
		</member>
		<member name="polygon" type="PoolVector2Array" setter="set_polygon" getter="get_polygon">
			The polygon's list of vertices. The final point will be connected to the first.
		</member>
		<member name="texture" type="Texture" setter="set_texture" getter="get_texture">
			The polygon's fill texture. Use [code]uv[/code] to set texture coordinates.
		</member>
		<member name="texture_offset" type="Vector2" setter="set_texture_offset" getter="get_texture_offset">
			Amount to offset the polygon's [code]texture[/code]. If [code](0, 0)[/code] the texture's origin (its top-left corner) will be placed at the polygon's [code]position[/code].
		</member>
		<member name="texture_rotation" type="float" setter="_set_texture_rotationd" getter="_get_texture_rotationd">
			The texture's rotation in degrees.
		</member>
		<member name="texture_scale" type="Vector2" setter="set_texture_scale" getter="get_texture_scale">
			Amount to multiply the [code]uv[/code] coordinates when using a [code]texture[/code]. Larger values make the texture smaller, and vice versa.
		</member>
		<member name="uv" type="PoolVector2Array" setter="set_uv" getter="get_uv">
			Texture coordinates for each vertex of the polygon. There should be one [code]uv[/code] per polygon vertex. If there are fewer, undefined vertices will use [code](0, 0)[/code].
		</member>
		<member name="vertex_colors" type="PoolColorArray" setter="set_vertex_colors" getter="get_vertex_colors">
			Color for each vertex. Colors are interpolated between vertices, resulting in smooth gradients. There should be one per polygon vertex. If there are fewer, undefined vertices will use [code]color[/code].
		</member>
	</members>
	<constants>
	</constants>
</class>
